블로그
카테고리 이동
[FinNLP 논문 리뷰 #1] 10-K 사업보고서에 자연어 처리 도입으로 주식 포트폴리오 구성하기
2023. 3. 20. 12:00
최근 동아리 FIND-A를 통해서 흥미로운 NLP 논문을 하나 읽을 기회가 있었다.
S&P500 각 기업의 10-K 사업보고서 에 대해 자연어 처리 를 도입하여 포트폴리오를 선정 하는 내용이었는데,
그들의 핵심 가설은 "보고서의 내용 변화가 적은 기업이 이슈가 적다는 의미이기 때문에, 수익이 더 좋다." 였다.
신기할 따름이다. 어떻게 그것을 테스트하고 결과로 보여주었는지 하나씩 정리해보자.
[논문: Neural network embeddings on corporate annual filings for portfolio selection][Neural network embeddings on corporate annual filings for portfolio selection
In recent years, there has been an increased interest from both academics and practitioners in automatically analyzing the textual part of companies’ …
www.sciencedirect.com
](https://www.sciencedirect.com/science/article/abs/pii/S0957417420308186)
- 사업보고서 10-K 에서는 각 기업과 관련하여 많은 인사이트를 발굴할 수 있으나, 일반적으로 복잡성과 길이에 따라 보고서의 변화와 의미를 파악하는데 시간이 걸린다.
- 이에 따라 '98년 ~ '18년까지 미국 10-K 보고서 의 차원벡터 표현을 학습하고, 벡터 근접성으로 단어의 의미를 비교하는 뉴럴 임베딩 기술을 활용하여 복잡성과 시간의 문제에 대해 대처하고자 한다.
- 그리고 핵심 가설 '10-K 보고서를 바꾸지 않는 기업이 더 높은 수익성을 가진다' 라는 가설을 증명해본다.
01: 데이터 준비와 전처리
1. 분석 기업 선정: 시가총액 300백만 달러 이상, 연 수익률 1,000% 미만으로 필터링 (45,516개 회사)
→ 적은 케이스로 인한 Outlier로 작용하는 것을 막고자 함
2. 분석 데이터: '98년부터 '18년까지 분석 기업의 10-K 및 관련 사업보고서
3. 데이터 전처리: 표, URL, HTML, 태그, 불용어 삭제 및 단어 사전(Vocabulary Dictionary) 간략화
02: 모델 학습과 포트폴리오 선정
1. 자연어 처리 학습 모델: PV-DM, PV-DBOW (Doc2Vec 모델)
└ PV-DM : 한 Paragraph에 각 word vector(단어)와 paragraph vector(주제, 문맥)로 나눈 것을
paragraph vector와 각 word vector로 단어를 예측 학습
└ PV-DBOW : 앞서 구분한 벡터 中 paragraph vector만으로 단어를 예측 학습
→ 비교군: Word2Vec 모델, Bag of Words 모델
└ Word2Vec: 보고서의 모든 단어를 벡터화시키고, 각 보고서마다 평균을 취함, 보고서의 표현으로서 사용
└ Bag of words: 문장에서 단어의 빈도수만을 측정
※ PV-DM, PV-DBOW와 Bag of words 참고 (어렵다 어려워)[Paragraph Vector란?
서론먼저 언급해두지만, 작성자는 정말로 글을 잘 적지 못하는 편이다. 뿐만 아니라, 영어 독해력도 CS 실력도 좋지 않은 편이다. 따라서, 작성자의 글을 읽을 경우 작성자의 글에서 정확한 정보를 찾으려 하지 말고 어디까지나 대략적인 개요정도만 파악해 줬으면 한다. 작성자조차 자기 자신을 믿지 못하는 상태로 생각을 정리하기 위해 글을 쓰는 수준이니 말이다...또한, 이 글에서 사용하는 이미지의 출처는 아래에 링크한 논문이지만, 작성자가 블로그 등 웹에 포스팅을 한 경험이 거의 없어 저작권에 대해 어떤식으로 처리해야 하는지 잘 모른다....
sviellya0720.tistory.com
](https://sviellya0720.tistory.com/3)
2. 학습 모델 적용: 256 dimensions, 10 epochs PV-DM 이 가장 좋은 모델이더라
모든 보고서에 적용하여 벡터로 표현함
3. 포트폴리오에 담을 종목 선정
└ Semantic Similarity Portfolio(SSP) : 한 종목의 연속된 2년의 사업 보고서 2개에 대해, PV-DM,
PV-DBOW, Word2Vec 방식으로 처리한 2개의 벡터간
' 코사인 유사도 '가 0.95 이상인 종목을 선정
매년 리밸런싱 시행
└ Non-Struggling Portfolio(NSP): SSP 에서 전년 대비 수익률이 (+)인 종목만 선정
위기를 겪고 있으면서 보고서를 변경하지 않는 '지속된 위기의 기업'을
제외하기 위함
4. 포트폴리오에 담을 방법: 시가총액 비례하여 담는 Value Weighted, 동일비중으로 담는 Equal Weighted
03: 결과 분석방법
1. 수익률 계산 방법: 각 포트폴리오마다 4월 1일에 리밸런싱, 1년 보유, 수익률에 배당금 포함하여 계산
2. 결과 분석 방법: 어느 Risk Factor로부터 초과 수익률을 얻었는지 파악하기 위해 멀티팩터 모델 사용
└ CAPM, 3팩터 파마-프렌치 모델, 5팩터 모델
└ CAPM: 자산 수익률의 시장 민감도
└ 3팩터 파마-프렌치 모델: SMB - 시가총액 큰 주식 대비 작은 주식의 초과수익률
HML - 성장주 대비 가치주의 초과 수익률
└ 5팩터 모델: UMD - 12개월간 높은 수익률을 거둔 주식의 수익률 - 낮은 수익률의 주식의 수익률
PS_VWF: 12개월간 유동성 상위 10% 주식의 수익률 - 하위 10% 주식의 수익률
CAPM, 3-Factor Fama-French Model, 5-Factor Model
04: 결과
1. 각 포트폴리오별 누적 수익률 : SSP > NSP > BoW > BoW-Mom > 담을 주식 후보군 > 모멘텀 > S&P500
└ 확실히 ' 사업보고서 의 변화율'이 수익률에 영향을 미침을 알 수 있다
└ 전년도 수익률 기준으로 필터링을 걸었던 NSP 가 오히려 SSP 보다 수익률이 낮다는 것이 특이함
└ BoW 는 각 단어 간 연결된 의미를 파악하지 못하고, 별개의 단어로 취급하기 때문에 보고서 전체의
의미 변화를 포착하지 못했다.
└ 모멘텀 포트폴리오는 초과수익률이 거의 없다: NSP 가 10-K 변화에 따라 수익률이 발생함을 증명
└ '담을 주식 후보군'의 수익률이 CRSP 시장 지수를 벗어나지 않기 때문에 '담을 주식 후보군'은 생존자
편향이나 다른 어떤 종류의 편향이 없었다는 것을 증명한다
각 포트폴리오별 누적 수익률 비교표
2. PV-DM, PV-DBOW, Word2Vec 포트폴리오의 멀티팩터 알파, t값 분석
└ PV-DM 의 α값이 타 방식 대비 높음: 각 팩터 대비 초과 수익률이 매우 큼
└ PV-DM 의 t값 또한 큰 편: t값이 크면 표준편차가 작다 → 어느 정도의 상관성이 있다.
3. SSP, NSP, BoW, BoW-Mom 포트폴리오의 멀티팩터 알파, t값 분석
└ 막상 각 팩터의 α값과 t값은 NSP 가 SSP 보다 크다: NSP 가 설명 불가능한 Risk를 덜 지기 때문에 안정적인
수익을 거둘 기회가 더 클 것이다.
4. 한계점
└ 기업의 임원 변경은 기업 경영에 큰 변화를 불러일으키지만, 해당 부분은 반영하지 못했다.
└ 어쨌든 계산시간이 오래 걸린다.
5. 이 연구를 통해 향후 적용해볼만한 것들: 서술적이면서(자연어가 많으면서) 내용에 제한이 없는 것들
ex. CEO Letter, 실적 컨퍼런스콜, 보도자료